<?php
/**
 * Created by Zhy
 * User: Zhy
 * Date: 2018/8/13
 * Time: 14:23
 */

namespace app\mec\model;

use think\Model;

class MechanismMember extends Model
{
    /**
     * 根据搜索条件获取列表
     * @param $where  搜索条件
     * @param $field  展示的字段
     * @param $page   当前页码
     * @param $limit  每页展示的条数
     * @param $od     排序
     * @return false|\PDOStatement|string|\think\Collection
     */
    public function getMechanismMemberList($field, $where, $page, $limit){
        $lists = $this->alias('m')
            ->join('up_mechanism um', 'm.mechanism_id = um.mechanism_id', 'left')
            ->field($field)
            ->where($where)
            ->order('m.id desc')
            ->page($page, $limit)
            ->select();
        return $lists;
    }
    
    /**
     * 获取条件搜索的记录总数，用于分页
     * @param $where  搜索条件
     * @return int|string
     */
    public function countNum($where){
        $count = $this->alias('m')
            ->join('up_mechanism um', 'um.mechanism_id = m.mechanism_id', 'left')
            ->where($where)
            ->count();
        return $count;
    }
    
    /**
     * 插入数据
     * @param $data
     * @return array
     */
    public function insertMechanismMember($data){
        $res = $this->allowField(true)->save($data);
        if($res){
            return ['code' => 200, 'data' =>"", 'msg' => '添加用户成功'];
        }else{
            return ['code' => 100, 'data' => '', 'msg' => '添加用户失败'];
        }
    }
    
    /**
     * 更改机构管理员状态
     * @param $status 机构管理员状态
     * @param $id   ID
     * @return array
     */
    public function mechanismMemberStatus($status, $id){
        if($status == 2){
            $msg = '禁用';
        }else{
            $msg = '启用';
        }
        if($id == session('mid')){
            return ['code'=>100,'data' => '','msg'=>'不可禁用自己','type'=>'no'];
        }
        $mmStatus = $this->where('id', $id)->setField('mechanism_member_status', $status);
        if(!$mmStatus){
            return ['code' => 100, 'data' => '', 'msg' => $msg . '失败'];
        }else{
            return ['code' => 200, 'data' => '', 'msg' => $msg . '成功'];
        }
    }
    
    /**
     * 根据ID，获取该机构管理员的信息
     * @param $id
     * @return array|false|\PDOStatement|string|Model
     */
    public function getOneInfo($id){
        $info = $this->where('id', $id)->find();
        return $info;
    }
    
    /**
     * 编辑机构管理员
     * @param $id
     * @param $data
     * @return array
     */
    public function editMechanismMember($id, $data){
        $res = $this->allowField(true)->save($data, ['id'=>$id]);
        if($res){
            return ['code' => 200, 'data' => '', 'msg' => '编辑用户成功'];
        }else{
            return ['code' => 100, 'data' => '', 'msg' =>'编辑用户失败'];
        }
    }
    
    /**
     * 根据搜索条件获取列表
     * @param $where  搜索条件
     * @param $field  展示的字段
     * @param $page   当前页码
     * @param $limit  每页展示的条数
     * @param $od     排序
     * @return false|\PDOStatement|string|\think\Collection
     */
    public function getMemberList($field, $where, $page, $limit){
        $lists = $this->field($field)
            ->where($where)
            ->order('id desc')
            ->page($page, $limit)
            ->select();
        return $lists;
    }
    
    /**
     * 获取条件搜索的记录总数，用于分页
     * @param $where  搜索条件
     * @return int|string
     */
    public function getCountNum($where){
        $count = $this->where($where)->count();
        return $count;
    }
    
    /**
     * 根据手机号判断用户登录
     * @param $phone
     * @return array|false|\PDOStatement|string|Model
     */
    public function getInfoByPhone($phone){
        $info = $this->where('mechanism_member_phone', $phone)->find();
        return $info;
    }
    
    
}